'use strict'

module.exports = app =>({
  /* 登录 */
  async h5Login() {
    const {
      ctx,
      service
    } = app
    // try {
      // ctx.validate({
      //   username: 'string',
      //   password: 'string'
      // })
    // } catch (error) {
    //   console.log('------log------', error)
    //   ctx.throw(400, `请求参数异常`)
    // }
    const req = ctx.request.body
    const result = await service.user.h5Login(req)
    ctx.helper.success(result)
  },

  /* 注冊 */
  async register() {
    const {
      ctx,
      service
    } = app
    const req = ctx.request.body

    try {
      ctx.validate({
        username: 'string',
        password: 'string'
      })
    } catch (error) {
      console.log('--------log--------', error)
      ctx.throw(400, `请求参数异常`)
    }

    const result = await service.user.register(req)
    ctx.helper.success({ data: result })
  },

  // 管理后台登录
  async adminLogin() {
    const {
      ctx,
      service
    } = app
    const req = ctx.request.body
    // try {
    //   ctx.validate({
    //     username: 'string',
    //     password: 'string'
    //   })
    // } catch (error) {
    //   ctx.throw(400, `请求参数异常`)
    // }

    const result = await service.user.adminLogin(req)
    ctx.helper.success(result)
  },

  /**
   * admin退出登录
   */
  async adminLogout () {
    const { ctx } = app
    ctx.helper.success()
  }
})